package model

import "time"

// SunoJob 音乐生成任务
type SunoJob struct {
	Id           uint   `gorm:"primarykey:column:id"`
	UserId       int    // 用户ID
	Channel      string // 渠道
	Title        string // 歌曲标题
	Type         int    // 任务类型,1:灵感创作,2:自定义创作
	TaskId       string // 任务ID
	TaskInfo     string // 原始任务信息
	RefTaskId    string // 续写的任务ID
	Tags         string // 歌曲风格和标签
	Instrumental bool   // 是否生成纯音乐
	ExtendSecs   int    // 续写秒数
	SongId       string // 要续写的歌曲 ID
	RefSongId    string // 引用的歌曲ID
	Prompt       string // 提示词
	CoverURL     string // 封面图URL
	AudioURL     string // 音频URL
	ModelName    string // 模型名称
	Progress     int    // 任务进度
	Duration     int    // 银屏时长，秒
	Publish      bool   // 是否发布
	ErrMsg       string // 错误消息
	RawData      string // 原始数据JSON
	Power        int    // 消耗算力
	PlayTimes    int    // 播放次数
	CreatedAt    time.Time
}

func (s *SunoJob) TableName() string {
	return "chatgpt_suno_jobs"
}
